package com.sgc.view;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import com.architecture.view.PadraoManutencaoMB;
import com.archtecture.control.enums.TipoOrdenacao;
import com.sgv.model.entities.CaixaModel;
import com.sgv.model.persistence.SGVCaixaFacadeLocal;

@ManagedBean
@ViewScoped
public class CaixaMB extends PadraoManutencaoMB<CaixaModel> {

	@EJB
	private SGVCaixaFacadeLocal caixaFacade;

	@Override
	protected CaixaModel getInstance() {
		CaixaModel lModel = new CaixaModel();
		return lModel;
	}

	public boolean isBoolFechamento() {
		return getModelCad().getDataAbertura() != null && getModelCad().getDataFechamento() == null;
	}

	public boolean isBoolPossuiCaixaAberto() {
		CaixaModel lCaixa = caixaFacade.obterUltimoCaixa(); // TODO NOOOOONNN
		return lCaixa != null && (lCaixa.getDataAbertura() != null && lCaixa.getDataFechamento() == null);
	}

	public boolean permiteEditar(CaixaModel pItem) {
		return pItem.getDataFechamento() == null;
	}

	@Override
	protected TipoOrdenacao getTipoOrdenacao() {
		return TipoOrdenacao.DESC;
	}
}
